https://github.com/ted59438/EnglishVocabulary_MySQL
點擊主畫面的「開始測驗」,測驗前需要輸入學生自己的帳號、密碼、單字分類、測驗時間

如果帳號或密碼錯誤,無法測驗
如果帳號與密碼吻合,從選擇的分類挑選五個單字,進入並開始測驗
一個測驗(主表)會有好幾個題目(明細),每一個題目(明細)對應同一個測驗(主表)




從所有單字當中隨機挑選五個單字
/// <summary>
/// 隨機取得單字的按鈕事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void queryVocabularyBtn_Click(object sender, EventArgs e)
{
    string sql = @"SELECT *
                   FROM Vocabulary
                   ORDER BY RAND()
                   LIMIT 5";
    Dictionary<string, object> parameters = new Dictionary<string, object>();
    try
    {
        queryVocabularyGrid.DataSource = queryDT(sql, parameters);
        queryVocabularyGrid.Columns["VocabularyID"].Visible = false;
        queryVocabularyGrid.Columns["CategoryID"].Visible = false;
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message, "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
}
(1) 從第一個單字開始往下取10個單字
SELECT TOP 10
       *
FROM Vocabulary
(2) 從第6個單字開始往下取10個單字 (不從第一個單字)
SELECT *
FROM Vocabulary
OFFSET 5 ROWS --往後遞延5筆
FETCH NEXT 10 ROWS ONLY; -- 第6筆~第15筆
從第6個單字開始往下取10個單字
SELECT * 
FROM Vocabulary
LIMIT 10 OFFSET 5